import { defineConfig } from 'vite'

export default defineConfig({
  build: {
    lib: {
      entry: './app/main.ts',
      name: 'AngularWebComponent',
      fileName: (format) => `angular-webcomponent.${format}.js`,
      formats: ['umd'], // 只输出UMD格式，这是Web Component最常用的格式
    },
    rollupOptions: {
      // 正确配置外部依赖，确保Angular库被正确打包
      // 对于Web Component，我们需要将Angular的核心库打包进去
      // 因为VitePress环境中可能没有这些依赖
      external: [], // 不排除任何依赖，全部打包到UMD文件中
      output: {
        // 配置UMD格式的全局变量名
        globals: {
          '@angular/core': 'ng.core',
          '@angular/common': 'ng.common',
          '@angular/platform-browser': 'ng.platformBrowser',
          '@angular/elements': 'ng.elements'
        },
        // 使用推荐的配置替代已弃用的namespaceToStringTag
        generatedCode: {
          symbols: true
        }
      }
    }
  }
})